package cn.bjtu.archiprac.papercheck.application.service.iface;

import cn.bjtu.archiprac.papercheck.application.exception.IncorrectPwdException;
import cn.bjtu.archiprac.papercheck.application.exception.UserExistException;
import cn.bjtu.archiprac.papercheck.application.exception.UserNotFoundException;
import cn.bjtu.archiprac.papercheck.application.model.University;
import cn.bjtu.archiprac.papercheck.application.model.User;
import cn.bjtu.archiprac.papercheck.application.vo.UserVO;

import java.util.List;
import java.util.Map;

/**
 * Created by Zexin Lin on 4/12/2018.
 * 用户管理模块接口定义
 */
public interface IUserService {
    void register(User newUser) throws UserExistException;
    User login(User user) throws UserNotFoundException, IncorrectPwdException;
    User queryUserInfo(String userId);
    List<User> queryUserList(UserVO queryMap);
    void updateUserInfo(User newUser);
    void modifyPwd(String userId, String oldPwd, String newPwd);
    void applyForCerti(University newUniversity);
}
